Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

251
Visualizações
Aumentar la opacidad al pasar el mouse [JavaScript]

novato aquí. Estoy terminando mi tarea de Odin Project que es hacer un Etch a Sketch. Aunque el código que escribí puede ser largo y repetitivo, todo funciona bien, excepto la opción Escala de grises.

Lo que quiero lograr con la opción Escala de grises es... cada vez que el mouse se desplaza sobre un cuadrado, aumenta la opacidad hasta que llega a 1.

Entonces, traté de verificar la opacidad y luego agregar 0.1 cada vez que el mouse se desplaza, pero parece agregar solo una vez (como se muestra en la consola style="background-color: rgb(232, 232, 232); opacity: 0.2; " ).

Estoy mostrando el "arcoíris de casos" solo como ejemplo porque funciona perfectamente, cada vez que el mouse se desplaza sobre el mismo cuadrado, cambia a otro color.

 const setColor = (e) => { switch (colorTheme) { case "rainbow": let rainbowOptions = ['#9400D3', '#4B0082', '#0000FF', '#00FF00', '#FFFF00', '#FF7F00', '#FF0000']; let rainbowSelection = rainbowOptions[Math.floor(Math.random() * rainbowOptions.length)]; colorPick = rainbowSelection; e.target.style.backgroundColor = colorPick; break; case "grayscale": let currentOpacity = 0.1 colorPick = "#E8E8E8"; e.target.style.opacity = currentOpacity; e.target.style.backgroundColor = colorPick; if (e.target.style.opacity <= 0.9) { e.target.style.opacity = `${currentOpacity + 0.1}`; console.log(e.target) } else { e.target.style.opacity = 1; } break;

Muchas gracias por su ayuda :)

about 4 years ago · Juan Pablo Isaza
2 Respostas
Responde à pergunta

0

Este código funciona para mí, espero que sea lo que querías también.
Obtiene la opacidad actual para aumentarla cada vez, el problema en su código era que restablecía su variable de opacidad cada vez que se llamaba a la función.

 let colorPick; const setColor = (e) => { colorPick = "#E8E8E8"; e.style.backgroundColor = colorPick; if (e.style.opacity <= 0.9) { e.style.opacity = +e.style.opacity + 0.1; // +e.style.opacity to convert opacity from string to number } }
 <div onmouseover="setColor(this)" style="padding:50px; opacity:0" > Lorem ipsum dolor sit amet, consectetur adipiscing elit </div>

about 4 years ago · Juan Pablo Isaza Relatório

0

Si quieres ser el hackerman:

 const raiseOpacity = (e) => !~~(+e.style.opacity) ? (e.style.opacity = +e.style.opacity + 0.1) : 1;
 <div onmouseover="raiseOpacity(this)" style="padding:50px; opacity:0.1"> Lorem ipsum dolor sit amet, consectetur adipiscing elit </div>

about 4 years ago · Juan Pablo Isaza Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda